package Multithreading.ThreadPool.ThreadPoolDome002;

/**
 * ClassName:ThreadPool
 * Package:Multithreading.ThreadPool.ThreadPoolDome002
 * Description:
 *
 * @Author:ZhangXin
 * @Create:2023/3/7-17:18
 * @Version:v1.0
 */
public class ThreadPool {
    /*自定义线程池
    * 1.核心线程数量 (不能小于0)
    * 2.线程池最大线程的数量
    * 3.空闲时间(值)
    * 4.空闲时间(单位)
    * 5.阻塞队列
    * 6.创建线程的方式
    * 7.要执行的任务过多时的解决方案
    *
    * 任务拒绝策略
    * ThreadPoolExecutor.AbortPolicy  默认策略:丢弃任务并抛出RejectedExecutionException异常
    * ThreadPoolExecutor.DiscardPolicy 丢弃任务,但是不抛出异常,这是不推荐的做法
    * ThreadPoolExecutor.DiscardOldestPolicy 抛弃队列中等待最久的任务,然后把当前任务加入队列中
    * ThreadPoolExecutor.CallerRunsPolicy 调用任务的run()方法绕过线程池直接执行*/
}
